package com.hzw.saas.service.msg.model;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 用户消息表
 * 群组消息，type=2并且from为groupId并且to为userId（只有该成员能看到这条消息）或者群组ID（群组每个成员都能看到）
 * type = 2 and `from`in'groud_id' and ( to in 'group_id' or to='user_id')
 * 个人消息 type=3 并且 to为userId
 * 系统消息 type = 1 并且 to为空 或者 to为userId()  或者 to为-1
 * type = 1 and (to is null or to = user_id or to='user_id')
 * </p>
 *
 * @author sonam
 * @since 2020-12-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tb_msg")
public class Msg implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(type = IdType.INPUT)
    private String msgId;

    /**
     * 接收的ID
     */
    @TableField(value="`to`", updateStrategy = FieldStrategy.IGNORED)
    private String to;

    /**
     * 发送的ID
     */
    @TableField(value="`from`")
    private String from;

    /**
     * 消息标题
     */
    private String title;

    /**
     * 消息内容
     */
    private String msg;

    /**
     * 发送时间
     */
    private Date date;

    /**
     * 处理结果
     * 1：系统消息，2：群组消息
     */
    private Integer type;

    /**
     * 图标
     */
    private String icon;
}
